package com.miao.generator;

import com.miao.entity.Entity;
import com.miao.entity.Package;
import com.miao.entity.Template;

import java.io.IOException;

public class GeneratorUtil {

    /**
     * 后端代码生成器
     *
     * @param packages 包管理
     * @param template 模板管理
     * @param entity   参数管理
     */
    public void BackEndGenerator(Package packages, Template template, Entity entity) throws IOException {
        EntityGenerator generator = new EntityGenerator();
        //TODO:获取生成路径
        String url;
        if (packages.getSubRouting().isEmpty()) {
            url = packages.getParent() + "\\";
        } else {
            url = packages.getParent() + "." + packages.getSubRouting() + "\\";
        }
        if (!packages.getEntity().isEmpty()) {
            generator.generator(template.getEntity(), url + packages.getEntity(), entity);
        }
        if (!packages.getDto().isEmpty()) {
            generator.generator(template.getDto(), url + packages.getDto(), entity);
        }
        if (!packages.getDao().isEmpty()) {
            generator.generator(template.getDao(), url + packages.getDao(), entity);
        }
        if (!packages.getService().isEmpty()) {
            generator.generator(template.getService(), url + packages.getService(), entity);
        }
        if (!packages.getImpl().isEmpty()) {
            generator.generator(template.getServiceImpl(), url + packages.getImpl(), entity);
        }
        if (!packages.getController().isEmpty()) {
            generator.generator(template.getController(), url + packages.getController(), entity);
        }
    }

}
